@keyframes pulse {
  0% {
    transform: scale(1, 1);
    border-color: #7d0000;
  }

  100% {
    transform: scale(1.07, 1.5);
    border-color: transparent;
  }
}

@keyframes wobble {
  0% {
    transform: translateY(0%);
  }

  15% {
    transform: translateY(-25%);
  }

  30% {
    transform: translateY(20%);
  }

  45% {
    transform: translateY(-15%);
  }

  60% {
    transform: translateY(10%);
  }

  75% {
    transform: translateY(-5%);
  }

  100% {
    transform: translateY(0%);
  }
}

.contact {
  height: 100vh;
  background-color: #000;
  background-image: url("../../assets/images/contact.jpg");
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;

  .container {
    position: relative;
    margin-top: 32px;
    padding: 48px 56px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: white;
    border-radius: 6px;

    &::after {
      content: "";
      position: absolute;
      bottom: -18px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 24px solid transparent;
      border-right: 24px solid transparent;
      border-top: 24px solid white;
    }

    .subTitle {
      color: black;
      text-shadow: none;
      font-size: 1.5em;
      margin-bottom: 24px;
    }

    .contactList {
      margin-bottom: 24px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;

      li {
        height: 48px;
        padding: 4px 24px;

        img {
          height: 100%;
        }

        &:hover {
          img {
            animation: wobble 1s ease-in-out;
          }
        }
      }
    }
  }

  .emailBtn {
    font-size: 2em;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      animation: pulse 2s cubic-bezier(0.57, 0.06, 0.27, 0.84) infinite;
      border-radius: 4px;
      border: 3px solid #7d0000;
      background: transparent;
      z-index: 1;
    }
  }

  @media screen and (max-width: 786px) {
    & {
      .container {
        padding: 16px;
      }

      .emailBtn {
        font-size: 1.2em;
      }
    }
  }
}
